load("//tools:defaults.bzl", "ng_project", "sass_binary", "sass_library")

package(default_visibility = ["//visibility:public"])

sass_library(
    name = "m3",
    srcs = [
        "_m3-optgroup.scss",
        "_m3-option.scss",
    ],
    deps = [
        "//src/material/core/style:sass_utils",
        "//src/material/core/tokens:m3_utils",
    ],
)

sass_library(
    name = "m2",
    srcs = [
        "_m2-optgroup.scss",
        "_m2-option.scss",
    ],
    deps = [
        "//src/material/core/style:elevation",
        "//src/material/core/style:sass_utils",
        "//src/material/core/theming:_inspection",
        "//src/material/core/tokens:m2_utils",
    ],
)

sass_library(
    name = "theme",
    srcs = [
        "_optgroup-theme.scss",
        "_option-theme.scss",
    ],
    deps = [
        ":m2",
        "//src/material/core/style:sass_utils",
        "//src/material/core/theming",
        "//src/material/core/theming:_inspection",
        "//src/material/core/theming:_validation",
        "//src/material/core/tokens:token_utils",
        "//src/material/core/typography",
    ],
)

ng_project(
    name = "option",
    srcs = [
        "index.ts",
        "optgroup.ts",
        "option.ts",
        "option-module.ts",
        "option-parent.ts",
    ],
    assets = [
        "optgroup.html",
        "option.html",
        ":optgroup_css",
        ":option_css",
    ],
    deps = [
        "//:node_modules/@angular/core",
        "//:node_modules/rxjs",
        "//src/cdk/a11y",
        "//src/cdk/keycodes",
        "//src/cdk/private",
        "//src/material/core:ripple",
        "//src/material/core/common-behaviors",
        "//src/material/core/focus-indicators:internal",
        "//src/material/core/selection",
        "//src/material/core/selection/pseudo-checkbox",
    ],
)

sass_binary(
    name = "option_css",
    src = "option.scss",
    deps = [
        "//src/cdk:sass_lib",
        "//src/material/core/style:layout_common",
        "//src/material/core/style:vendor_prefixes",
        "//src/material/core/tokens:token_utils",
    ],
)

sass_binary(
    name = "optgroup_css",
    src = "optgroup.scss",
    deps = [
        "//src/material/core/tokens:token_utils",
    ],
)
